/*
 * Created by JFormDesigner on Mon Mar 28 14:07:25 CST 2022
 */

package com.wangcanxuan.www.view.tribe;

import com.wangcanxuan.www.controller.Impl.LikeControllerImpl;
import com.wangcanxuan.www.controller.Impl.TaskControllerImpl;
import com.wangcanxuan.www.controller.Impl.TribeControllerImpl;
import com.wangcanxuan.www.controller.Impl.UserControllerImpl;
import com.wangcanxuan.www.controller.LikeController;
import com.wangcanxuan.www.controller.TaskController;
import com.wangcanxuan.www.controller.TribeController;
import com.wangcanxuan.www.controller.UserController;
import com.wangcanxuan.www.entity.dto.ResultInfo;
import com.wangcanxuan.www.entity.po.Role;
import com.wangcanxuan.www.entity.po.Task;
import com.wangcanxuan.www.entity.po.Tribe;
import com.wangcanxuan.www.entity.po.User;
import com.wangcanxuan.www.proxy.ControllerProxy;
import com.wangcanxuan.www.util.ValidateUtil;
import com.wangcanxuan.www.view.user.MainView;

import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.Vector;
import javax.swing.*;
import javax.swing.GroupLayout;
import javax.swing.table.*;

import static com.wangcanxuan.www.entity.dto.ResultConstants.*;

/**
 * 部落界面
 *
 * @author unknown
 * @date 2022/04/01
 */
public class TribalInterfaceView extends JFrame {
    private final User user;
    private final Tribe tribe;
    private String gender = null;
    private Integer roleId;
    private String searchName;
    private final UserController userController;
    private final TribeController tribeController;
    private final TaskController taskController;
    private final LikeController likeController;
    private int chooseRoleStage = 2;
    private int taskPage = 1;
    private int userPage = 1;
    private String chooseUserTribeName;
    private String chooseTaskTribeName;
    private final int maxRoleId = 4;

    public TribalInterfaceView(User user, Tribe tribe) {
        this.user = user;
        this.tribe = tribe;
        userController = ControllerProxy.getProxyInstance(UserControllerImpl.class);
        tribeController = ControllerProxy.getProxyInstance(TribeControllerImpl.class);
        taskController = ControllerProxy.getProxyInstance(TaskControllerImpl.class);
        likeController = ControllerProxy.getProxyInstance(LikeControllerImpl.class);
        initComponents();
        initMessage();
        setVisible(true);
    }

    private void initMessage() {
        fillUserTable(0);
        fillTaskTable(0);
        myTribeNameText.setText(tribe.getTribeName());
        currentLeaderName.setText(tribe.getCurrentLeader());
        creatorText.setText(tribe.getCreator());
        roleId = user.getRoleId();
        ResultInfo<Role> userRole = userController.getUserRole(user.getId());
        roleNameText.setText(userRole.getObj().getRoleName());
        coinsText.setText(String.valueOf(tribe.getCoins()));
        levelText.setText(String.valueOf(tribe.getTribeLevel()));
        powerText.setText(String.valueOf(tribe.getCombatPower()));
        ResultInfo<Long> integerResultMessage = tribeController.selectNumbersForTribe(tribe.getId());
        numbersText.setText(String.valueOf(integerResultMessage.getObj()));
        createTimeText.setText(String.valueOf(tribe.getCreateTime()));
        taskPageText.setText("1");
        userPageText.setText("1");
        nickNameText.setText(user.getNickName());
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        comboBox1.setSelectedIndex(0);
    }

    /**
     * 返回主页面
     *
     * @param e e
     */
    private void backMain(ActionEvent e) {
        // TODO add your code here
        new MainView(refreshUser());
        dispose();
    }

    /**
     * 返回部落大厅
     *
     * @param e e
     */
    private void backTribeNotJoin(ActionEvent e) {
        // TODO add your code here
        new TribalHallView(refreshUser());
        dispose();
    }

    /**
     * 填充用户表单
     *
     * @return boolean
     */
    private boolean fillUserTable(int pageCount) {
        ResultInfo<List<User>> listResultMessage;
        listResultMessage = tribeController.selectUserListByGenderAndTribeId(tribe.getId(), searchName, gender, pageCount);
        List<User> users = listResultMessage.getObj();
        int code = listResultMessage.getCode();
        String message = listResultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            DefaultTableModel dtm = (DefaultTableModel) tribeUserTable.getModel();
            // 设置成0行
            dtm.setRowCount(0);
            for (User user : users) {
                Vector<Object> list = new Vector<>();
                list.add(user.getNickName());
                ResultInfo<Role> userRole = userController.getUserRole(user.getId());
                list.add(userRole.getObj().getRoleName());
                list.add(user.getGender());
                list.add(user.getAge());
                ResultInfo<Long> longResultMessage = likeController.selectLikesForUser(user.getId());
                list.add(longResultMessage.getObj());
                dtm.addRow(list);
            }
            return true;
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            return false;
        }
        return false;
    }

    /**
     * 部落用户表鼠标按下
     *
     * @param e e
     */
    private void tribeUserTableMousePressed(MouseEvent e) {
        // TODO add your code here
        int selectedRow = tribeUserTable.getSelectedRow();
        chooseUserTribeName = String.valueOf(tribeUserTable.getValueAt(selectedRow, 0));
        chooseUserText.setText(chooseUserTribeName);
    }

    /**
     * 用户页面上一页
     *
     * @param e e
     */
    private void upUserPage(ActionEvent e) {
        // TODO add your code here
        if (userPage == 1) {
            JOptionPane.showMessageDialog(null, "这是首页！");
            return;
        }
        int count = (userPage - 2) * 10;
        boolean b = fillUserTable(count);
        if (b) {
            userPage--;
            userPageText.setText(String.valueOf(userPage));
        }
    }

    /**
     * 用户页面下一页
     *
     * @param e e
     */
    private void downUserPage(ActionEvent e) {
        // TODO add your code here
        int count = userPage * 10;
        boolean b = fillUserTable(count);
        if (b) {
            userPage++;
            userPageText.setText(String.valueOf(userPage));
        }
    }

    /**
     * 什么也不选
     *
     * @param e e
     */
    private void noneGenderRadionButton(ActionEvent e) {
        // TODO add your code here
        gender = null;
    }

    /**
     * 选男性
     *
     * @param e e
     */
    private void manGender(ActionEvent e) {
        // TODO add your code here
        gender = "男";
    }

    /**
     * 选女性
     *
     * @param e e
     */
    private void womanGenderRadionButton(ActionEvent e) {
        // TODO add your code here
        gender = "女";
    }

    /**
     * 搜索用户
     *
     * @param e e
     */
    private void search(ActionEvent e) {
        // TODO add your code here
        if (ValidateUtil.strIsNullOrEmpty(searchUserText.getText())) {
            searchName = "";
        } else {
            searchName = "%" + searchUserText.getText() + "%";
        }
        userPage = 1;
        fillUserTable(0);
    }

    /**
     * 审核界面
     *
     * @param e e
     */
    private void applyCheck(ActionEvent e) {
        // TODO add your code here
        if (user.getRoleId() < maxRoleId) {
            JOptionPane.showMessageDialog(null, "休想！");
            return;
        }
        new CheckApplyTribeView(refreshUser());
        dispose();
    }

    /**
     * 点赞
     *
     * @param e e
     */
    private void like(ActionEvent e) {
        // TODO add your code here
        if (ValidateUtil.strIsNullOrEmpty(chooseUserTribeName)) {
            JOptionPane.showMessageDialog(null, "请选择要操作的用户");
            return;
        }
        ResultInfo<?> resultMessage = likeController.likePeople(user.getId(), chooseUserTribeName);
        int code = resultMessage.getCode();
        String message = resultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            new TribalInterfaceView(refreshUser(), refreshTribe());
            dispose();
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
        }
    }

    /**
     * 部落签到
     *
     * @param e e
     */
    private void signIn(ActionEvent e) {
        // TODO add your code here
        ResultInfo<?> resultMessage = tribeController.tribeSignIn(user);
        int code = resultMessage.getCode();
        String message = resultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            new TribalInterfaceView(refreshUser(), refreshTribe());
            dispose();
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
        }
    }

    /**
     * 踢出部落
     *
     * @param e e
     */
    private void kickTribe(ActionEvent e) {
        // TODO add your code here
        if (roleId < maxRoleId) {
            JOptionPane.showMessageDialog(null, "您无权这么做!");
            return;
        }
        if (chooseUserTribeName == null) {
            JOptionPane.showMessageDialog(null, "请选择要操作的用户！");
            return;
        }
        int result = JOptionPane.showConfirmDialog(null, "您确认要把" + chooseUserTribeName + "踢出部落吗？");
        if (result == 0) {
            ResultInfo<?> resultMessage = tribeController.kickTribe(user, chooseUserTribeName);
            String message = resultMessage.getMessage();
            int code = resultMessage.getCode();
            if (code == SUCCESS_REQUEST_CODE.getCode()) {
                JOptionPane.showMessageDialog(null, message);
                new TribalInterfaceView(refreshUser(), refreshTribe());
                dispose();
            }
            if (code == REJECT_REQUEST_CODE.getCode()) {
                JOptionPane.showMessageDialog(null, message);
            }
        }
    }

    /**
     * 授权
     *
     * @param e e
     */
    private void permissionGive(ActionEvent e) {
        // TODO add your code here
        if (user.getRoleId() < maxRoleId) {
            JOptionPane.showMessageDialog(null, "捏麻麻的，想谋权篡位？");
            return;
        }
        int leaderId = 5;
        if (chooseRoleStage == leaderId) {
            if (user.getRoleId() < leaderId) {
                JOptionPane.showMessageDialog(null, "捏麻麻的，你想怎么样？");
                return;
            }
            int result = JOptionPane.showConfirmDialog(null, "你确认要转让首领吗？");
            if (result != 0) {
                return;
            }
        }
        ResultInfo<?> resultMessage = tribeController.permissionGive(user, chooseUserTribeName, chooseRoleStage);
        int code = resultMessage.getCode();
        String message = resultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            new TribalInterfaceView(refreshUser(), refreshTribe());
            dispose();
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
        }
    }

    /**
     * 下拉列表
     *
     * @param e e
     */
    private void comboBox1ItemStateChanged(ItemEvent e) {
        // TODO add your code here
        if (e.getStateChange() == ItemEvent.SELECTED) {
            chooseRoleStage = comboBox1.getSelectedIndex() + 2;
        }
    }

    /**
     * 退出部落
     *
     * @param e e
     */
    private void outTribe(ActionEvent e) {
        // TODO add your code here
        int result = JOptionPane.showConfirmDialog(null, "你确认要退出部落吗？");
        if (result != 0) {
            return;
        }
        ResultInfo<?> resultMessage = tribeController.exitTribe(user);
        int code = resultMessage.getCode();
        String message = resultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            new MainView(refreshUser());
            dispose();
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
        }
    }

    /**
     * 鼠标按下部落的任务表
     *
     * @param e e
     */
    private void tribeTaskTableMousePressed(MouseEvent e) {
        // TODO add your code here
        int selectedRow = tribeTaskTable.getSelectedRow();
        chooseTaskTribeName = String.valueOf(tribeTaskTable.getValueAt(selectedRow, 0));
        chooseFunctionText.setText(chooseTaskTribeName);
    }

    /**
     * 填充任务表
     *
     * @param pageCount 页面数
     * @return boolean
     */
    private boolean fillTaskTable(int pageCount) {
        ResultInfo<List<Task>> listResultMessage = taskController.selectTaskList(tribe.getId(), pageCount);
        List<Task> tasks = listResultMessage.getObj();
        int code = listResultMessage.getCode();
        String message = listResultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            DefaultTableModel dtm = (DefaultTableModel) tribeTaskTable.getModel();
            // 设置成0行
            dtm.setRowCount(0);
            if (tasks.size() == 0) {
                return true;
            }
            for (Task task : tasks) {
                Vector<Object> list = new Vector<>();
                list.add(task.getTaskName());
                list.add(task.getContent());
                ResultInfo<User> refresh = userController.refresh(task.getPublisherId());
                list.add(refresh.getObj().getNickName());
                list.add(task.getLevel());
                dtm.addRow(list);
            }
            return true;
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            return false;
        }
        return false;
    }

    /**
     * 任务表上一页
     *
     * @param e e
     */
    private void upTask(ActionEvent e) {
        // TODO add your code here
        if (taskPage == 1) {
            JOptionPane.showMessageDialog(null, "这是首页！");
            return;
        }
        int count = (taskPage - 2) * 10;
        boolean b = fillTaskTable(count);
        if (b) {
            taskPage--;
            taskPageText.setText(String.valueOf(taskPage));
        }
    }

    /**
     * 任务下一页
     *
     * @param e e
     */
    private void downTask(ActionEvent e) {
        // TODO add your code here
        int count = taskPage * 10;
        boolean b = fillTaskTable(count);
        if (b) {
            taskPage++;
            taskPageText.setText(String.valueOf(taskPage));
        }
    }

    /**
     * 刷新主要
     *
     * @param e e
     */
    private void refreshMain(ActionEvent e) {
        // TODO add your code here
        ResultInfo<User> refresh = userController.refresh(user.getId());
        ResultInfo<Tribe> tribeResultMessage = tribeController.selectTribeByTribeId(user.getTribeId());

        JOptionPane.showMessageDialog(null, "刷新成功");
        new TribalInterfaceView(refresh.getObj(), tribeResultMessage.getObj());
        dispose();
    }

    /**
     * 刷新用户
     */
    private User refreshUser() {
        ResultInfo<User> refresh = userController.refresh(user.getId());
        return refresh.getObj();
    }

    /**
     * 刷新部落
     */
    private Tribe refreshTribe() {
        ResultInfo<Tribe> tribeResultMessage = tribeController.selectTribeByTribeId(tribe.getId());
        return tribeResultMessage.getObj();
    }

    private void upLevel(ActionEvent e) {
        // TODO add your code here
        new BenefitTribeView(refreshUser());
        dispose();
    }

    private void acceptTask(ActionEvent e) {
        // TODO add your code here
        if (chooseTaskTribeName == null) {
            JOptionPane.showMessageDialog(null, "你先选择任务，ok？");
            return;
        }
        ResultInfo<?> resultMessage = taskController.acceptTask(user, chooseTaskTribeName);
        int code = resultMessage.getCode();
        String message = resultMessage.getMessage();
        if (code == SUCCESS_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
            new TribalInterfaceView(refreshUser(), refreshTribe());
            dispose();
        }
        if (code == REJECT_REQUEST_CODE.getCode()) {
            JOptionPane.showMessageDialog(null, message);
        }
    }

    private void postTask(ActionEvent e) {
        // TODO add your code here
        int maxRoleId = 3;
        if (user.getRoleId() < maxRoleId) {
            JOptionPane.showMessageDialog(null, "安心贡献，现在你还不能发布任务！");
            return;
        }
        new PublishTaskView(refreshUser());
        dispose();
    }

    private void dsimissTribe(ActionEvent e) {
        // TODO add your code here
        int leaderId = 5;
        if (user.getRoleId() < leaderId) {
            JOptionPane.showMessageDialog(null, "造反？");
            return;
        }
        int result = JOptionPane.showConfirmDialog(null, "确定解散部落吗");
        if (result != 0) {
            return;
        }
        ResultInfo<?> resultMessage = tribeController.dismissTribe(tribe.getId());
        JOptionPane.showMessageDialog(null, resultMessage.getMessage());
        new MainView(refreshUser());
        dispose();
    }


    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        // Generated using JFormDesigner Evaluation license - unknown
        label1 = new JLabel();
        myTribeNameText = new JTextField();
        label2 = new JLabel();
        roleNameText = new JTextField();
        label3 = new JLabel();
        label4 = new JLabel();
        label5 = new JLabel();
        label6 = new JLabel();
        label7 = new JLabel();
        label8 = new JLabel();
        label9 = new JLabel();
        creatorText = new JTextField();
        currentLeaderName = new JTextField();
        coinsText = new JTextField();
        levelText = new JTextField();
        powerText = new JTextField();
        numbersText = new JTextField();
        createTimeText = new JTextField();
        backTribeNotJoinButton = new JButton();
        backMainButton = new JButton();
        refreshButton = new JButton();
        scrollPane1 = new JScrollPane();
        tribeUserTable = new JTable();
        upUserPageButton = new JButton();
        userPageText = new JTextField();
        downUserPageButton = new JButton();
        searchUserText = new JTextField();
        label10 = new JLabel();
        searchButton = new JButton();
        noneGenderRadionButton = new JRadioButton();
        manGenderRadioButton = new JRadioButton();
        womanGenderRadionButton = new JRadioButton();
        applyCheckButton = new JButton();
        chooseUserText = new JTextField();
        likeButton = new JButton();
        scrollPane2 = new JScrollPane();
        tribeTaskTable = new JTable();
        upTaskButton = new JButton();
        taskPageText = new JTextField();
        downTaskButton = new JButton();
        label11 = new JLabel();
        chooseFunctionText = new JTextField();
        acceptTaskButton = new JButton();
        postTaskButton = new JButton();
        permissionGiveButton = new JButton();
        kickTribeButton = new JButton();
        outTribeButton = new JButton();
        upLevelButton = new JButton();
        signInButton = new JButton();
        comboBox1 = new JComboBox<>();
        label12 = new JLabel();
        nickNameText = new JTextField();
        dsimissTribeButton = new JButton();

        //======== this ========
        setTitle("\u6211\u7684\u90e8\u843d");
        Container contentPane = getContentPane();

        //---- label1 ----
        label1.setText("\u6211\u7684\u90e8\u843d\uff1a");
        label1.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- myTribeNameText ----
        myTribeNameText.setEditable(false);

        //---- label2 ----
        label2.setText("\u5f53\u524d\u9996\u9886\uff1a");
        label2.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- roleNameText ----
        roleNameText.setEditable(false);

        //---- label3 ----
        label3.setText("\u521b\u5efa\u8005\uff1a");
        label3.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label4 ----
        label4.setText("\u5f53\u524d\u804c\u4f4d\uff1a");
        label4.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label5 ----
        label5.setText("\u90e8\u843d\u91d1\u5e01\uff1a");
        label5.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label6 ----
        label6.setText("\u90e8\u843d\u7b49\u7ea7\uff1a");
        label6.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label7 ----
        label7.setText("\u90e8\u843d\u6218\u529b:");
        label7.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label8 ----
        label8.setText("\u5f53\u524d\u4eba\u6570\uff1a");
        label8.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- label9 ----
        label9.setText("\u90e8\u843d\u5efa\u4e8e\uff1a");
        label9.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- creatorText ----
        creatorText.setEditable(false);

        //---- currentLeaderName ----
        currentLeaderName.setEditable(false);

        //---- coinsText ----
        coinsText.setEditable(false);

        //---- levelText ----
        levelText.setEditable(false);

        //---- powerText ----
        powerText.setEditable(false);

        //---- numbersText ----
        numbersText.setEditable(false);

        //---- createTimeText ----
        createTimeText.setEditable(false);

        //---- backTribeNotJoinButton ----
        backTribeNotJoinButton.setText("\u90e8\u843d\u5927\u5385");
        backTribeNotJoinButton.addActionListener(this::backTribeNotJoin);

        //---- backMainButton ----
        backMainButton.setText("\u8fd4\u56de\u9996\u9875");
        backMainButton.addActionListener(this::backMain);

        //---- refreshButton ----
        refreshButton.setText("\u5237\u65b0");
        refreshButton.addActionListener(this::refreshMain);

        //======== scrollPane1 ========
        {

            //---- tribeUserTable ----
            tribeUserTable.setModel(new DefaultTableModel(
                    new Object[][]{
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                            {null, null, null, null, null},
                    },
                    new String[]{
                            "\u6635\u79f0", "\u804c\u4f4d", "\u6027\u522b", "\u5e74\u9f84", "\u88ab\u8d5e\u6570"
                    }
            ) {
                boolean[] columnEditable = new boolean[]{
                        false, false, false, false, false
                };

                @Override
                public boolean isCellEditable(int rowIndex, int columnIndex) {
                    return columnEditable[columnIndex];
                }
            });
            tribeUserTable.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    tribeUserTableMousePressed(e);
                }
            });
            scrollPane1.setViewportView(tribeUserTable);
        }

        //---- upUserPageButton ----
        upUserPageButton.setText("\u4e0a\u4e00\u9875");
        upUserPageButton.addActionListener(this::upUserPage);

        //---- userPageText ----
        userPageText.setEditable(false);

        //---- downUserPageButton ----
        downUserPageButton.setText("\u4e0b\u4e00\u9875");
        downUserPageButton.addActionListener(this::downUserPage);

        //---- label10 ----
        label10.setText("\u67e5\u8be2\u6210\u5458");

        //---- searchButton ----
        searchButton.setText("\u67e5\u8be2");
        searchButton.addActionListener(this::search);

        //---- noneGenderRadionButton ----
        noneGenderRadionButton.setText("\u65e0");
        noneGenderRadionButton.addActionListener(this::noneGenderRadionButton);

        //---- manGenderRadioButton ----
        manGenderRadioButton.setText("\u7537");
        manGenderRadioButton.addActionListener(this::manGender);

        //---- womanGenderRadionButton ----
        womanGenderRadionButton.setText("\u5973");
        womanGenderRadionButton.addActionListener(this::womanGenderRadionButton);

        //---- applyCheckButton ----
        applyCheckButton.setText("\u5ba1\u6838");
        applyCheckButton.addActionListener(this::applyCheck);

        //---- chooseUserText ----
        chooseUserText.setEditable(false);

        //---- likeButton ----
        likeButton.setText("\u70b9\u8d5e");
        likeButton.addActionListener(this::like);

        //======== scrollPane2 ========
        {

            //---- tribeTaskTable ----
            tribeTaskTable.setModel(new DefaultTableModel(
                    new Object[][]{
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                    },
                    new String[]{
                            "\u4efb\u52a1\u540d", "\u4efb\u52a1\u5185\u5bb9", "\u53d1\u5e03\u8005", "\u4efb\u52a1\u96be\u5ea6"
                    }
            ) {
                boolean[] columnEditable = new boolean[]{
                        false, false, false, false
                };

                @Override
                public boolean isCellEditable(int rowIndex, int columnIndex) {
                    return columnEditable[columnIndex];
                }
            });
            tribeTaskTable.addMouseListener(new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                    tribeTaskTableMousePressed(e);
                }
            });
            scrollPane2.setViewportView(tribeTaskTable);
        }

        //---- upTaskButton ----
        upTaskButton.setText("\u4e0a\u4e00\u9875");
        upTaskButton.addActionListener(e -> upTask(e));

        //---- taskPageText ----
        taskPageText.setEditable(false);

        //---- downTaskButton ----
        downTaskButton.setText("\u4e0b\u4e00\u9875");
        downTaskButton.addActionListener(this::downTask);

        //---- label11 ----
        label11.setText("\u9009\u62e9\u4efb\u52a1\uff1a");
        label11.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 18));

        //---- chooseFunctionText ----
        chooseFunctionText.setEditable(false);

        //---- acceptTaskButton ----
        acceptTaskButton.setText("\u63a5\u53d7\u4efb\u52a1");
        acceptTaskButton.addActionListener(this::acceptTask);

        //---- postTaskButton ----
        postTaskButton.setText("\u53d1\u5e03\u4efb\u52a1");
        postTaskButton.addActionListener(this::postTask);

        //---- permissionGiveButton ----
        permissionGiveButton.setText("\u6388\u6743");
        permissionGiveButton.addActionListener(this::permissionGive);

        //---- kickTribeButton ----
        kickTribeButton.setText("\u8e22\u51fa\u90e8\u843d");
        kickTribeButton.addActionListener(this::kickTribe);

        //---- outTribeButton ----
        outTribeButton.setText("\u9000\u51fa\u90e8\u843d");
        outTribeButton.addActionListener(this::outTribe);

        //---- upLevelButton ----
        upLevelButton.setText("\u5347\u7ea7\u90e8\u843d\u4e0e\u8d21\u732e");
        upLevelButton.addActionListener(this::upLevel);

        //---- signInButton ----
        signInButton.setText("\u6bcf\u65e5\u90e8\u843d\u62c9\u4f38");
        signInButton.addActionListener(this::signIn);

        //---- comboBox1 ----
        comboBox1.setModel(new DefaultComboBoxModel<>(new String[]{
                "\u90e8\u843d\u6210\u5458",
                "\u957f\u8001",
                "\u526f\u9996\u9886",
                "\u9996\u9886"
        }));
        comboBox1.addItemListener(this::comboBox1ItemStateChanged);

        //---- label12 ----
        label12.setText("\u6635\u79f0\uff1a");

        //---- nickNameText ----
        nickNameText.setEditable(false);

        //---- dsimissTribeButton ----
        dsimissTribeButton.setText("\u89e3\u6563\u90e8\u843d");
        dsimissTribeButton.addActionListener(this::dsimissTribe);

        GroupLayout contentPaneLayout = new GroupLayout(contentPane);
        contentPane.setLayout(contentPaneLayout);
        contentPaneLayout.setHorizontalGroup(
                contentPaneLayout.createParallelGroup()
                        .addGroup(contentPaneLayout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(contentPaneLayout.createParallelGroup()
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addComponent(backMainButton, GroupLayout.PREFERRED_SIZE, 115, GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(backTribeNotJoinButton, GroupLayout.PREFERRED_SIZE, 118, GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(refreshButton, GroupLayout.PREFERRED_SIZE, 106, GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                .addComponent(applyCheckButton, GroupLayout.PREFERRED_SIZE, 105, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addComponent(label10, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                                .addComponent(searchUserText, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
                                                                .addGap(18, 18, 18)
                                                                .addComponent(searchButton)
                                                                .addGap(28, 28, 28))
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addComponent(noneGenderRadionButton)
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                                                .addComponent(manGenderRadioButton)
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                                                .addComponent(womanGenderRadionButton)
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, 108, GroupLayout.PREFERRED_SIZE)
                                                                .addGap(20, 20, 20)))
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                                        .addComponent(chooseUserText, GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
                                                        .addComponent(permissionGiveButton, GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                        .addComponent(likeButton, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(kickTribeButton))
                                                .addContainerGap(89, Short.MAX_VALUE))
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
                                                                        .addComponent(label5, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)
                                                                        .addComponent(label8, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                        .addComponent(label7, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                        .addComponent(label6, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                        .addComponent(label9, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                        .addComponent(label4, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE))
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                        .addComponent(coinsText)
                                                                        .addComponent(levelText, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(powerText, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(numbersText, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(roleNameText, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(createTimeText, GroupLayout.PREFERRED_SIZE, 144, GroupLayout.PREFERRED_SIZE)))
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.TRAILING, false)
                                                                                        .addComponent(label3, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)
                                                                                        .addComponent(label2, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)
                                                                                        .addComponent(label1, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE))
                                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                                        .addComponent(myTribeNameText, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE)
                                                                                        .addComponent(currentLeaderName, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE)
                                                                                        .addComponent(creatorText, GroupLayout.PREFERRED_SIZE, 127, GroupLayout.PREFERRED_SIZE)))
                                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.TRAILING)
                                                                                        .addComponent(outTribeButton)
                                                                                        .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                                                                                .addComponent(label11)
                                                                                                .addComponent(postTaskButton, GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE)))
                                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                                                                        .addComponent(acceptTaskButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                                        .addComponent(chooseFunctionText)
                                                                                        .addComponent(upLevelButton, GroupLayout.PREFERRED_SIZE, 141, GroupLayout.PREFERRED_SIZE))))
                                                                .addGap(0, 2, Short.MAX_VALUE)))
                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 111, Short.MAX_VALUE)
                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                        .addComponent(scrollPane1, GroupLayout.PREFERRED_SIZE, 693, GroupLayout.PREFERRED_SIZE)
                                                                        .addComponent(scrollPane2, GroupLayout.PREFERRED_SIZE, 693, GroupLayout.PREFERRED_SIZE))
                                                                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addGap(335, 335, 335)
                                                                .addComponent(upTaskButton)
                                                                .addGap(92, 92, 92)
                                                                .addComponent(taskPageText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addGap(89, 89, 89)
                                                                .addComponent(downTaskButton)
                                                                .addGap(0, 87, Short.MAX_VALUE))
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                                .addGap(187, 187, 187)
                                                                                .addComponent(upUserPageButton)
                                                                                .addGap(84, 84, 84)
                                                                                .addComponent(userPageText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                                .addGap(90, 90, 90)
                                                                                .addComponent(downUserPageButton))
                                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                                .addGap(26, 26, 26)
                                                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                                                        .addComponent(dsimissTribeButton, GroupLayout.PREFERRED_SIZE, 124, GroupLayout.PREFERRED_SIZE)
                                                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                                                .addComponent(label12, GroupLayout.PREFERRED_SIZE, 53, GroupLayout.PREFERRED_SIZE)
                                                                                                .addGap(18, 18, 18)
                                                                                                .addComponent(nickNameText, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)))))
                                                                .addContainerGap(242, Short.MAX_VALUE))))))
                        .addGroup(contentPaneLayout.createSequentialGroup()
                                .addGap(22, 22, 22)
                                .addComponent(signInButton, GroupLayout.PREFERRED_SIZE, 207, GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE))
        );
        contentPaneLayout.setVerticalGroup(
                contentPaneLayout.createParallelGroup()
                        .addGroup(contentPaneLayout.createSequentialGroup()
                                .addGroup(contentPaneLayout.createParallelGroup()
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addGap(24, 24, 24)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(backTribeNotJoinButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                        .addComponent(backMainButton)
                                                        .addComponent(refreshButton))
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(myTribeNameText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(label1, GroupLayout.PREFERRED_SIZE, 29, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                        .addComponent(label2, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(currentLeaderName, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label3, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(creatorText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label4, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(roleNameText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label5, GroupLayout.PREFERRED_SIZE, 40, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(coinsText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label6, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(levelText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addGap(21, 21, 21)
                                                .addGroup(contentPaneLayout.createParallelGroup()
                                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                                        .addComponent(noneGenderRadionButton)
                                                                        .addComponent(manGenderRadioButton)
                                                                        .addComponent(womanGenderRadionButton)
                                                                        .addComponent(permissionGiveButton)
                                                                        .addComponent(kickTribeButton)
                                                                        .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                                        .addGroup(GroupLayout.Alignment.TRAILING, contentPaneLayout.createSequentialGroup()
                                                                .addComponent(applyCheckButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                                                .addGap(3, 3, 3)))
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label10, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(searchUserText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(searchButton)
                                                        .addComponent(chooseUserText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(likeButton)
                                                        .addComponent(label12, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(nickNameText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addComponent(scrollPane1, GroupLayout.PREFERRED_SIZE, 245, GroupLayout.PREFERRED_SIZE)))
                                .addGroup(contentPaneLayout.createParallelGroup()
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(upUserPageButton)
                                                        .addComponent(userPageText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(downUserPageButton))
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                                .addComponent(scrollPane2, GroupLayout.PREFERRED_SIZE, 241, GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(upTaskButton)
                                                        .addComponent(taskPageText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(downTaskButton)))
                                        .addGroup(contentPaneLayout.createSequentialGroup()
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label7, GroupLayout.PREFERRED_SIZE, 38, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(powerText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label8, GroupLayout.PREFERRED_SIZE, 36, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(numbersText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label9, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(createTimeText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(label11, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
                                                        .addComponent(chooseFunctionText, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                                .addGap(18, 18, 18)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(acceptTaskButton)
                                                        .addComponent(postTaskButton))
                                                .addGap(37, 37, 37)
                                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                                        .addComponent(outTribeButton)
                                                        .addComponent(upLevelButton))))
                                .addGap(18, 18, 18)
                                .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                        .addComponent(signInButton)
                                        .addComponent(dsimissTribeButton))
                                .addGap(1, 1, 1))
        );
        pack();
        setLocationRelativeTo(getOwner());

        //---- buttonGroup1 ----
        ButtonGroup buttonGroup1 = new ButtonGroup();
        buttonGroup1.add(noneGenderRadionButton);
        buttonGroup1.add(manGenderRadioButton);
        buttonGroup1.add(womanGenderRadionButton);
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license - unknown
    private JLabel label1;
    private JTextField myTribeNameText;
    private JLabel label2;
    private JTextField roleNameText;
    private JLabel label3;
    private JLabel label4;
    private JLabel label5;
    private JLabel label6;
    private JLabel label7;
    private JLabel label8;
    private JLabel label9;
    private JTextField creatorText;
    private JTextField currentLeaderName;
    private JTextField coinsText;
    private JTextField levelText;
    private JTextField powerText;
    private JTextField numbersText;
    private JTextField createTimeText;
    private JButton backTribeNotJoinButton;
    private JButton backMainButton;
    private JButton refreshButton;
    private JScrollPane scrollPane1;
    private JTable tribeUserTable;
    private JButton upUserPageButton;
    private JTextField userPageText;
    private JButton downUserPageButton;
    private JTextField searchUserText;
    private JLabel label10;
    private JButton searchButton;
    private JRadioButton noneGenderRadionButton;
    private JRadioButton manGenderRadioButton;
    private JRadioButton womanGenderRadionButton;
    private JButton applyCheckButton;
    private JTextField chooseUserText;
    private JButton likeButton;
    private JScrollPane scrollPane2;
    private JTable tribeTaskTable;
    private JButton upTaskButton;
    private JTextField taskPageText;
    private JButton downTaskButton;
    private JLabel label11;
    private JTextField chooseFunctionText;
    private JButton acceptTaskButton;
    private JButton postTaskButton;
    private JButton permissionGiveButton;
    private JButton kickTribeButton;
    private JButton outTribeButton;
    private JButton upLevelButton;
    private JButton signInButton;
    private JComboBox<String> comboBox1;
    private JLabel label12;
    private JTextField nickNameText;
    private JButton dsimissTribeButton;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}
